System and method for monitoring a mobile computing product/arrangement

ABSTRACT

Described is a system and method for monitoring a mobile computing Arrangement. The arrangement may include a sensor and a processor. The sensor detects first data of an event including a directional orientation and a motion of the arrangement. The processor compares the first data to second data to determine if at least one predetermined procedure is to be executed. The second data may include a predetermined threshold range of changes in the directional orientation and the motion. If the predetermined procedure is to be executed, the processor selects the predetermined procedure which corresponds to the event as a function of the first data. Subsequently, the predetermined procedures is executed.

PRIORITY CLAIM

This Application claims the benefit of the U.S. Provisional Application Ser. No. 60/559,735 filed on Apr. 6, 2004, which is expressly incorporated herein, by reference.

BACKGROUND INFORMATION

Business and individuals today rely on mobile computing products/arrangements (“MCPs”, e.g., bar code readers, PDAs, laptops, two-way pagers, mobile phones, digital cameras, mobile optical readers) in a multitude of situations ranging from basic everyday tasks to highly specialized procedures. As the virtues and benefits of utilizing MCPs continue to be realized across increasingly diverse industries, the features and capabilities of these products are expanding at a correspondingly rapid pace. In many industries, MCPs have gone from fashionable accessories to essential business components used by all levels of personnel.

Accordingly, a great need has developed for MCPs to perform complicated tasks quickly, efficiently and reliably. However, as conventional MCPs are fitted with more advanced gadgetry and software features, sacrifices are often made with respect to durability, power management and user-friendliness. While many methods have been devised attempting to resolve these difficulties, MCPs currently continue to suffer from problems of inefficient power usage, complicated operational procedures and on-screen menus, and the inability to tolerate the harsh industrial conditions to which the products may be subjected.

In the ongoing search for solutions to these problems, one aspect of MCPs that has remained overlooked is a product's kinetic state. From an MCP's motions, valuable information may be extracted from which various predetermined procedures directed at accomplishing some useful end or preventing some harmful result may be executed. Therefore, it is desirable to be able to detect, interpret and utilize the movements experienced by MCPs.

SUMMARY OF THE INVENTION

Described is a system and method for monitoring a mobile computing Arrangement. The arrangement may include a sensor and a processor. The sensor detects first data of an event including a directional orientation and a motion of the arrangement. The processor compares the first data to second data to determine if at least one predetermined procedure is to be executed. The second data may include a predetermined threshold range of changes in the directional orientation and the motion. If the predetermined procedure is to be executed, the processor selects the predetermined procedure which corresponds to the event as a function of the first data. Subsequently, the predetermined procedure is executed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an exemplary embodiment of a mobile network according to the present invention.

FIG. 2 shows an exemplary embodiment of a mobile computing product/Arrangement according to the present invention.

FIG. 3 shows an exemplary embodiment of a method for monitoring a mobile computing product/Arrangement according to the present invention.

DETAILED DESCRIPTION

The present invention may be further understood with reference to the following description and the appended drawings, wherein like elements are provided with the same reference numerals. The present invention relates to an MCP which includes a sensor that monitors the MCP's directional orientation and motion. In particular, the sensor may measure the MCP's acceleration, velocity, or angular velocity in any direction, orientation with respect to the user, the forces on the MCP upon impact, the direction of impact, or any other shocks or movements to which the MCP may be subjected. These measurements may be contrasted with prerecorded movement patterns or predefined levels of acceptable and unacceptable movement. As will be described below, predetermined procedures may then be executed that may be useful in a wide range of applications, including but not limited to abuse indication, power management, gesture input, compensating for undesired motion, display orientation, and security.

FIG. 1 shows an exemplary embodiment of a mobile network 100 according to the present invention. In this embodiment, the mobile network 100 may be operating within a Wireless Local Area Network (“WLAN”) 40 in an infrastructure mode. The mobile network 100 may also include an access point (“AP”) 10, a plurality of MCPs 20, 25, a communications network 50, a server 60, and a client computer 70. The MCP 20 is height h1 from the ground 30, and the MCP 25 is height h2 from the ground 30. Both MCPs 20, 25 are situated on a three dimensional plane in which they may translate, rotate, pivot, accelerate or otherwise be in motion. Those of skill in the art will understand that the exemplary embodiments of the present invention may be used with any mobile network and that the mobile network 100 is only exemplary.

The WLAN 40 may use a version of the IEEE 802.11 or a similar protocol. One benefit of using a version of the IEEE 802.11 standard is that existing infrastructures using that standard may be adapted to support the system with minimal modifications. With only a simple software upgrade, most MCPs 20, 25 supporting that standard may operate according to the present invention. In alternative exemplary embodiments, different wireless protocols or technologies (e.g., Bluetooth, WWAN, WPAN, infrared) may also be utilized.

Referring back to the mobile network 100, the AP 10 may be, for example, a router, switch or bridge that forms the connection between the WLAN 40 and the communications network 50. Coupled to the WLAN 40 are the MCPs 20, 25, and coupled to the communications network 50 are the server 60 and the client computer 70. The communications network 50 is utilized to transmit data between the various components of the mobile network 100. This communications network 50 can be any network usable to transmit data, such as between microprocessors, and may be a local area network (“LAN”), a wide area network (“WAN”) or the Internet. The range of the MCPs 20, 25 are restricted only by the extent of the communications network 50. When the communications network 50 includes the Internet, the range can be essentially unlimited, as long as the AP 10 connected to the communications network 50 is within range of each of the MCPs 20, 25. Therefore, the AP 10 does not have to physically be in the vicinity of the server 60 or the client computer 70, as it may be remotely located by extending network cabling or through the Internet.

The MCPs 20, 25 may be any type of computer or processor based mobile device (e.g., a bar code reader, a PDA, a laptop, a two-way pager, a mobile phone, a digital camera, a mobile optical reader). Since the MCPs 20, 25 are portable, they are capable of connecting to a wireless network, and are sufficiently small to be easily carried. The MCPs 20, 25 may be designed for specific purposes, such as reading barcodes, or may be handheld devices with different purposes, to which various functionalities have been added through separate software modules. In one exemplary embodiment, the MCPs 20, 25 are based on a multi-purpose personal digital assistant (“PDA”) such as those running the Microsoft Pocket PC 2003 operating system, or similar.

FIG. 2 shows an exemplary embodiment of an MCP 20, 25 according to the present invention. In this embodiment, the MCP 20, 25 may include a processor 110, a sensor 120, a non-removable memory 130, a removable memory 140, and an antennae 150. The processor 110 is a central processing unit (“CPU”) that executes instructions on measurements taken by the sensor 120 and performs procedures such as storing the result in memory or transmitting the result to remote devices through the antennae 150. The non-removable memory 130 is any type of memory component integrated into the electronic architecture of the MCP 20, 25 and may be temporary (e.g., random access memory, or RAM) or permanent (e.g., a hard-disk drive). The removable memory 140 may be any type of detachable memory component that may connect to the MCPs 20, 25 through an expansion interface (e.g., a FLASH interface, a USB interface, a firewire interface, etc.).

In the exemplary embodiment of FIG. 2, the sensor 120 is integrated into the MCPs 20, 25. This sensor 120 may be a device coupled to an electronic architecture of the MCPs 20, 25 that dispatches data to a separate memory device, or it may be coupled to at least a portion of another device in the architecture. For instance, in the latter embodiment, the sensor 120 may be coupled to a memory arrangement in which event data (e.g., a first data of an event relating to the MCP 20, 25's movements with values above a certain threshold) is stored. In an alternative exemplary embodiment, the sensor 120 may be a separate external device that connects to the MCPs 20, 25 through an expansion slot (e.g., a sensor with a FLASH, USB, firewire or similar interface).

The sensor 120 may be any type of measurement device capable of monitoring directional orientation and motion, and may be based on, for example, a G-shock sensor, a switch, an accelerometer, a strain gage, a piezo, MEMS technologies, or combinations of the like. The directional orientation may include any angular movement value with respect to at least one three-dimensional axis of the MCPs 20, 25. The motion may include, for example, a velocity value, an acceleration value, or an angular velocity value. Although the sensor 120 may be of any size, the sensor 120 is preferably small enough so that any added weight and space occupied on the MCPs 20, 25 are negligible. Because the MCPs 20, 25 usually operate on batteries, the sensor 120 should also have a low power consumption. In addition, the sensor 120 should be durable enough to withstand the abusive environments of which its purpose is to monitor.

The sensor 120 detects changes in the directional orientation and motion of the MCP 20, 25 and generates the first data. The first data is provided to the processor 110 which compares the first data to predetermined second data which includes threshold range values. For example, the second data may be a prerecorded rotation of the MCP 20, 25 by ninety degrees, the detection of which may indicate of the occurrence of an event. The second data may be a maximum height from which the MCP 20, 25 is dropped. Subsequently, based on the first data, a particular predetermined procedure is selected and executed.

The first data may be retained for each instance where the measurements of the sensor 120 are above or below the second data which specifies an acceptable threshold level. The processor 110 may also append additional information to the retained first data including sequential numbering of the events, time and date for each event, acceleration data, data corresponding to a status of the MCPs 20, 25 at the date/time of the event, environmental factors, a direction of the shock, etc.

Depending on the application of the present invention, various predetermined procedures may be performed based on the first data. For example, if desired, the first data may be stored in the non-removable memory 130 and/or the removable memory 140 prior to executing any other procedures. Alternatively, the first data may not need to be stored locally at all, instead it is transmitted in real-time for storage and/or further processing by a central server or a remote device. Such a transmission may be accomplished via the communication arrangement of the mobile network 100 of FIG. 1. The WLAN 40 and communications network 50 comprise the communication arrangement, and the server 60 and the client computer 70 comprise the central server or the remote device.

The foregoing embodiments of the mobile network 100 and the MCPs 20, 25 are not to be construed so as to limit the present invention in any way. As will be apparent to those skilled in the art, different types of MCPs 20, 25 may be used to communicate over the same data network, as long as they work under compatible protocols. Other configurations with different numbers of MCPs, APs, or client and server computers may also be used to implement the system and method of the present invention.

In an alternative exemplary embodiment of the mobile network 100, the MCPs 20, 25 may connect to the communications network 50 directly via wires despite being portable. For example, rather than real-time reporting, the MCPs 20, 25 may only be required to connect periodically to the mobile network 100 for updates on their movements as monitored by their respective sensors 120. Furthermore, no wireless capabilities or communications network 50 may be needed entirely. In such a situation, the sensor 120 makes measurements to be processed internally for use locally by the users or manufacturers. For example, the measurements may be used to suggest replacing or repairing the MCP 20, 25 because it has exceeded a threshold of abuse and is in danger of malfunctioning.

FIG. 3 shows an exemplary method 300 for monitoring the MCPs 20, 25. In the step 310, certain distinct characteristics of events (e.g., the second data) are identified and programmed into the MCPs 20, 25. The second data may include a specific threshold value and/or a threshold range of changes in the directional orientation and motion of the MCPs 20, 25. The characteristics may include, for example, maximum or minimum threshold values or prerecorded motions. The user (e.g., the manufacturer, a system administrator or any other authorized person) may designate or, if desired, make changes to these characteristics. For instance, the MCPs 20, 25 may be prepackaged by the manufacturer with static abuse maximum values that are inaccessible or not editable by the user. Alternatively, the threshold may simply be dynamic default values adjustable to future specifications.

In the step 320, the MCP 20, 25 is continuously monitored by the sensor 120 for changes in the directional orientation and/or motion/movements that may constitute the occurrence of a predefined event. An event may include, for example, the MCP 20, 25 being dropped, jerked, tugged, shaken a certain number of times within a certain time period, or remaining still for a specified duration. Whenever the MCP 20, 25 experiences detectable motion or an extended lack thereof, the first data is generated. The sensor 120 may make no effort to differentiate between or prioritize directional orientation or motion values, returning all results to the processor 110 for processing.

In the step 330, the processor 110 compares the measured first data with the predetermined second data. If the characteristics of the first data match those of the second data, the processor 110 determines that an event has occurred and a corresponding predetermined procedure needs to be selected. At the occurrence of an event, the processor 110 may also attach to the first data at least one of a time/date of each event, a status of the computing arrangement, a direction of the acceleration, and environmental data. In an alternative exemplary embodiment of the present invention, the above-described attachment may occur as a part of the predetermined procedure.

For example, when the sensor 120 detects that the MCP 20, 25 came to an abrupt stop after being accelerated for a short period of time, the processor 110, after comparing that information to at least a portion of the preprogrammed second data, may conclude that the MCP 20, 25 dropped to the ground 30. From the magnitude and duration of acceleration, the processor 110 may also determine whether the drop was forcibly induced (e.g., by an abusive user) and the distance h1 or h2 of its displacement. Furthermore, from the direction of impact and other data, the processor 110 may also approximate the part of the MCP 20, 25 that initially made contact with the ground 30 and whether any critical components were directly impacted. Such information may be attached to the first data and may be helpful in determining whether the fall poses a danger to the MCP 20, 25's continued operation.

Due to practical considerations (e.g., memory limitations and processing power) and because not all event occurrences may be significant, the reporting and recording of all movements of the MCP 20, 25 no matter how minor, although possible, may in some instances be impractical. Movements within acceptable limits may be superfluous and have no bearing to applications of the present invention. Therefore, in the step 340, the first data is measured against threshold values contained in the second data. The first data is retained only when at least one event and/or reading satisfies the threshold values or matches the prerecorded motions of the second data; otherwise the first data is discarded and the method 300 is returned to the step 320 for the monitoring of new events.

If the first data falls within the threshold of the second data, the method 300 continues to the step 350 where the processor 110 selects, as a function of the first data, at least one predetermined procedure for execution. In particular, the processor 110 analyzes the measured first data and determines the corresponding procedure of the plurality of predetermined procedures.

In the step 360, the predetermined procedure is executed. The execution of the predetermined procedure may depend upon the specific application of the present invention. For example, the first data may be stored into the non-removable memory 130 or the removable memory 140. A plurality of stored first data records form an event history of the MCP 20, 25. The event history may be readily accessible to any user of the MCP 20, 25, or may be password protected and/or encrypted so that only authorized personnel (e.g., the network administrator or the manufacturer) may gain access.

Other examples of predetermined procedures include encrypting the first data so that it may be accessible only by an authorized user, transmitting the first data to a remote computer, analyzing the event history of the MCP 20, 25 for service recommendations, reporting the cause of any damages, issuing precautionary warnings of the MCP 20, 25's condition, changing the MCP 20, 25's display, powering off, etc. After the predetermined procedure has been successfully executed, the method 300 may resume again at the step 320 to monitor for new event occurrences.

The examples discussed in the foregoing discussion are for illustrative purposes only and are not representative of all possible applications of the present invention. Rather, the present invention may be applied across a diverse range of industries, practice areas, and purposes. The description that follows further outlines the features and advantages of several exemplary applications of the present invention. However, as will be apparent to one skilled in the art, the MCPs 20, 25 may benefit from and make use of an added motion sensor component according to the present invention in many other ways.

As MCPs 20, 25 are increasingly being integrated into the daily operations of businesses today, a need has developed to ensure that these MCPs 20, 25 can withstand the rugged treatment to which they are often subjected. Conventional design and construction techniques yield MCPs 20, 25 that exhibit levels of performance that are only marginal in terms of reliability and durability under the demands of industrial environments. Damaged or malfunctioning MCPs 20, 25 may have devastating effects on the numerous businesses currently relying on mobile solutions. For example, MCPs 20, 25 that are completely inoperable may result in costly delays while replacement products are sought. Also, MCPs 20, 25 with latent malfunctions may cause undetectable computational errors that corrupt systems and induce further errors down the line.

Typically, the user of the MCP 20, 25 has no reliable way of anticipating malfunctions and only discovers a problem as it manifests itself. By that time, damage has often already occurred. Therefore, there is a great need for IT and customer service personnel be able to monitor and accurately determine when the MCP 20, 25 has surpassed an intolerable threshold of abuse. This may be accomplished by establishing measured levels of acceptable and unacceptable usage profiles according to the exemplary embodiments of the present invention. In this way, user profiles may be established and predictions may be made of when the MCP 20, 25 should be replaced prior to it actually malfunctioning. In instances where the MCP 20, 25 is being abused, the customer may intercede to minimize the abusive treatment, thereby reducing the amount of service to and/or replacement of the MCP 20, 25 required and lowering the total cost of ownership.

Referring to the exemplary method 300 of FIG. 3, for example, a maximum level tolerable abuse may be defined in terms of the number of times the MCP 20, 25 is dropped to the ground 30. Thus, in the step 310, a minimum height constituting a drop and maximum number of drops may be specified as a second data. The MCPs 20, 25 may be configured to only record values exceeding the predefined magnitudes. Accordingly, if a threshold for drop altitude were set somewhere between h1 and h2, the MCP 20 dropping to the ground 30 from the height h1 would not appear in its event history, but the MCP 25 dropping to the ground 30 from the height h2 would. In both cases, the sensor 120 generates a first data relating to velocity and acceleration values, and are forwarded to the processor 110. The processor 110, after comparing the first data to the second data, then determines that a drop has occurred and attaches certain other event data. After comparing the first data to the predefined threshold values, the first data is either retained or discarded. Finally, a predetermined procedure is selected based on the first data and executed.

In other exemplary embodiments, the MCPs 20, 25 may similarly be directed to only retain and execute procedures when the first data indicates some form of an abuse. For example, the MCPs 20, 25 may be programmed to execute a procedure only after a predetermined number of events occurring within a predetermined time period has been detected. Furthermore, the MCPs 20, 25 may instead only retain and perform operations when the first data shows an impact to certain critical components or that are oriented in a certain predetermined direction and/or are of a certain predetermined force.

As previously mentioned, the predetermined procedure may vary depending on the specific application of the present invention. For example, in abuse indication, the predetermined procedure may simply be a real-time on-screen display of the updated event history of the MCP 20, 25. If the MCP 20, 25 is being exposed to usage profiles beyond its intended use, it may also be desirable to alert the user through visible warning (e.g., on-screen precautionary displays, flashing LEDs), audible sirens (e.g., using a speaker, headset, receiver) or mechanical alerts (e.g., vibrations, pager motors).

Furthermore, usage profiles detrimental to the MCP 20, 25 may be brought to the attention of a remote party with an interest in its condition. IT and customer service personnel, for example, may monitor the MCP 20, 25's event history in real-time, on-site or off-site, through the communication links of the mobile network 100. In instances where real-time monitoring is impossible or impractical, updates may instead be made in periodic or predetermined intervals. For example, the MCP 20, 25 may have no wireless communication capabilities, may be beyond the wireless operating range of the AP 10, or it may be desirable to conserve the limited bandwidth of the mobile network 110. In such situations, the number and level of unacceptable usage instances experienced by the MCP 20, 25 may be archived for retrieval at a later time. A periodic servicing and maintenance schedule may be established, during which remote parties may obtain updates. The event history may also be downloaded at the end of a shift when the MCP 20, 25 is returned to a docking station or charging cradle.

With the MCP 20, 25′s event history, remote parties (e.g., IT and customer service personnel) may perform operations beyond servicing the particular MCP 20, 25. This information may be used by manufacturers for research and development for the benefit of later MCPs 20, 25. By establishing the usage patterns of MCPs 20, 25 operating under similar conditions, future specifications may be tailored to actual conditions of use, adjusting levels of durability based on the expected conditions to which the MCPs 20, 25 may be subjected. Acceptable standards of motion data may then be refined and monitored for excessive abuse according to a new set of criteria.

Still another advantage of the present invention to manufacturers is the ability to archive and retrieve warranty information. Manufacturers' warranties typically only insure against defects arising from production or out of the normal course of usage of the MCP 20, 25, neither of which includes the MCP 20, 25 being dropped in a way that may violate its specifications or being otherwise abused by the customer. However, without any actual knowledge of the MCP 20, 25's usage, manufacturers presented by a customer with a malfunctioning MCP 20, 25 often has no method to accurately determine the cause of the malfunction. If usage information is available either within the MCP 20, 25's memory or in transmissions to the manufacturer, warranty claims may more easily be verified or discredited.

In addition to interacting with the user or remote parties, the MCPs 20, 25 of the present invention may also autonomously monitor their own condition and take actions accordingly. The probability of losing critical data increases substantially when the MCPs 20, 25 are used beyond their intended usage profiles or environmental design specifications. The exemplary embodiments of the present invention allow the MCPs 20, 25 to take preventative measures to ensure against harm during an abusive event. For example, while an MCP 20, 25 is experiencing excessive motion beyond a predetermined usage threshold value (e.g., as the MCP 20, 25 is dropping to the ground 30 from height h1 or h2), the processor 110 in the step 360 may terminate programs containing critical information to prevent data corruption. Access to the non-removable memory 130 or the removable memory 140 by any other components may also be temporarily disabled, avoiding any possible loss of data. If necessary, the MCP 20, 25 may power off or switch into standby mode and not be allowed to resume operations until the abusive event has passed or subsided back within an acceptable range.

Although the exemplary applications of the present invention in foregoing description has primarily focused on abuse indication, the present invention may also be used in a variety of other settings. As described below, these settings include, for example, power management, gesture input, compensating for undesired motion, display orientation, and security.

The power management properties of MCPs have always been a primary focus of product design engineers. Due to their limited size and weight and their mobile nature, MCPs usually have limited power supplies (e.g., rechargeable or disposable battery packs). Developing MCPs that operate for long periods of time, without sacrificing mobility, is an ongoing design challenge. Designing a robust power management system that optimizes and conserves power is a critical element in addressing this challenge.

Understanding the MCP 20, 25 directional orientation with respect to the user is possible by incorporating the previously described sensor 120. As such, it is possible to enhance current power management systems by turning on and off various systems when appropriate. For example, many MCPs 20, 25 have a display and backlight that use a large amount of the available power supply. Utilizing the orientation aspect of the sensor may enable the MCP 20, 25 to keep the display and backlight on only when the display is within the user's viewing angle and range. By employing the exemplary system and method of the present invention, when the MCP 20, 25 is rotated past the viewing angle or brought beyond the visible distance for a predetermined time period, the display and backlight may shut off to save power. When the MCP 20, 25 is rotated back within user's viewing angle or brought within the visible range, the display and backlight may instantaneously turn back on.

Another way in which the present invention may optimize the power management of the MCP 20, 25 may be by switching it into a power conservative state when not in use. Conventional power management systems typically shut down the MCP 20, 25 or switch it into idle mode after a preset amount of time transpires with no interaction from the user. The preset time period is usually adjustable by the MCP 20, 25 software. The present invention uses the lack of motion as an additional trigger to switch the MCP 20, 25 into the idle or shut down modes, thus taking advantage of tendency of the MCPs 20; 25 to be in motion when in use, and conserving energy when at rest. The amount of motionless time needed to trigger the power saving state may also be adjustable by the MCP 20, 25 software.

Continuing with some exemplary applications of the present invention, the combined sensor and MCP 20, 25 of the present invention may also simplify the MCP 20, 25's operation through a gesture input. The advantages afforded by increasingly advanced computing products are often offset by sacrifices to usability and user-friendliness. Elaborate menus, onscreen buttons, procedures or the like frequently frustrate users and impede rather than advance productivity. The ability to sense and analyze motion through the present invention enables the MCP 20, 25 to recognize and react to various motions or user gestures. These motions or gestures may be pre-established to trigger the MCP 20, 25 to perform various functions that would otherwise need to be actuated manually.

For example, if the MCP 20, 25 equipped with a display is in document viewing mode and orientation, a quick flip of the user's wrist detected by the sensor 120 may coincide with the software application flipping to the next page of the document. In another example, when long lists of application options are being displayed to the user, a wrist roll gesture could trigger the MCP 20, 25 to start scrolling down the list. In still another example, if the MCP 20, 25 is a device with data capturing capabilities (e.g., an imager, scanner, camera), a motion detected corresponding to a certain pre-recorded gesture may trigger the MCP 20, 25 to turn on the data capture functionality.

Still another advantage of the present invention is the ability to compensate for an undesirable motion. Although not as detrimental to the MCPs 20, 25 as motion constituting abuse, minor motion values may still adversely affect applications that require as little motion as possible. For example, MCPs 20, 25 with data capture capabilities utilizing various camera technologies produce blurred or out of focus pictures when in motion. Various methods have been developed attempting to offset such undesirable effects, such as weights or stands that minimizes or cancels out extraneous motion.

The present invention may be utilized to address this problem without the need for cumbersome physical attachments or mechanical devices. Undesirable motion may be recognized, processed, and de-sensitized through various software applications employed by the MCP 20, 25 under the exemplary embodiments of the present invention. The MCP 20, 25 may identify a non-acceptable operating situation to the user due to motion through the display or other alert mechanisms, and/or automatically have the software compensate for the motion during the data capture event.

Furthermore, in MCPs 20, 25 equipped with displays, the orientation sensing capability of the present invention may also conveniently adjust the display orientation with respect to the user. MCPs 20, 25 typically format display data in landscape or portrait mode. Newer mobile software applications enable the display data format to be manually switched between the two. The present invention allows the orientation of the MCP 20, 25 to be monitored relative to the user, enabling the MCP 20, 25 to automatically switch the display data format between the landscape and portrait modes.

As a final exemplary application of the present invention, the combined sensor and MCP 20, 25 of the present invention may be used for purposes of security. Because the MCPs 20, 25 are portable, they are easily misplaced or stolen. By employing the exemplary system and method of the present invention, the MCPs 20, 25 may be able to incorporate security features that indicate their location to the user or prevent use by unauthorized personnel. For example, when the MCP 20, 25 is at rest for a preset period of time (e.g., during recharge, overnight storage), it may enter a secure mode and be programmed to trigger an alarm when motion to the MCP 20, 25 is detected. This alarm may be local to the MCP 20, 25, using audible, visual, or mechanical features. At the same time or as an alternative, the alarm may be triggered in a remote device on-site or off-site using the previously described communication systems. If the MCP 20, 25 utilized tracking technologies (e.g., global positioning system), it may also convey its location. The security features may additionally lock terminal applications, preventing the MCP 20, 25 from being used until an authorized user password is entered.

The present invention has been described with the reference to the above exemplary embodiments. One skilled in the art would understand that the present invention may also be successfully implemented if modified. Accordingly, various modifications and changes may be made to the embodiments without departing from the broadest spirit and scope of the present invention as set forth in the claims that follow. The specification and drawings, accordingly, should be regarded in an illustrative rather than restrictive sense. 

1-44. (canceled)
 45. A mobile computing device, comprising: a camera capturing an image using a plurality of image capture frames; a sensor coupled to the camera, the sensor generating a sensor signal in response to detecting a motion of the camera when the camera captures the image; and a processor receiving the sensor signal from the sensor, the processor associating the sensor signal to the plurality of image capture frames and determining whether an amplitude of the motion of the camera is within a predetermined threshold when the camera captures the image.
 46. The mobile computing device of claim 45, wherein the processor executes a software application that compensates for the motion of the camera when the camera captures the image.
 47. The mobile computing device of claim 46, wherein the software application selects an image capture frame from the plurality of image capture frames corresponding to a minimum amplitude of the motion of the camera when the camera captures the image.
 48. The mobile computing device of claim 46, wherein the software application notifies a user when the amplitude of the motion of the camera is outside the predetermined threshold.
 49. The mobile computing device of claim 45 further comprising a user interface that notifies the user when the amplitude of the motion of the camera is outside the predetermined threshold.
 50. The mobile computing device of claim 49, wherein the user interface comprises at least one of a display, a light emitting diode (LED), an audio output device, and a vibration device.
 51. The mobile computing device of claim 45, wherein the sensor comprises at least one of an accelerometer, a strain gauge, a piezo electric device, and a microelectromechanical systems (MEMS) device.
 52. The mobile computing device of claim 45, wherein the image comprises a barcode image.
 53. The mobile computing device of claim 52, wherein the processor decodes the barcode image when the amplitude of the motion of the camera is within the predetermined threshold.
 54. The mobile computing device of claim 45, further comprising a printed circuit board that supports the sensor, the camera and the processor, the printed circuit board being coupled to a housing.
 55. A method, comprising: capturing an image with a camera using a plurality of image capture frames; detecting a motion of the camera when the camera captures the image; generating a sensor signal in response to detecting the motion of the camera; associating the sensor signal to the plurality of image capture frames; and determining whether an amplitude of the motion of the camera is within a predetermined threshold when the camera captures the image.
 56. The method of claim 55 further comprising compensating for the motion of the camera when the camera captures the image.
 57. The method of claim 55 further comprising selecting an image capture frame from the plurality of image capture frames corresponding to a minimum amplitude of the motion of the camera when the camera captures the image.
 58. The method of claim 55 further comprising notifying a user that the amplitude of the motion of the camera is outside the predetermined threshold.
 59. The method of claim 55, wherein the image comprises a barcode image.
 60. The method of claim 59, further comprising decoding the barcode image when the amplitude of the motion of the camera is within the predetermined threshold.
 61. A mobile computing device, comprising: means for capturing an image with a camera using a plurality of image capture frames; means for detecting a motion of the camera when the camera captures the image; means for generating a sensor signal in response to detecting the motion of the camera; means for associating the sensor signal to the plurality of image capture frames; and means for determining whether an amplitude of the motion of the camera is within a predetermined threshold when the camera captures the image.
 62. The mobile computing device of claim 61 further comprising means for compensating for the motion of the camera when the camera captures the image.
 63. The mobile computing device of claim 61 further comprising means for selecting an image capture frame from the plurality of image capture frames corresponding to a minimum amplitude of the motion of the camera when the camera captures the image.
 64. The mobile computing device of claim 61 further comprising means for notifying a user that the amplitude of the motion of the camera is outside the predetermined threshold. 